%###########%%%%###################################################%%
%#####%###%%%##%%%###########%#####%########%####%%###%%###########%%
%###########%##%%%**#%%#*##########################################%%
%###########%##%###**@%%###########################################%%
%###########%###**#++###*#%########################################%%
%############%#*#%%#****###########################################%%
%###########%%%%%%%++++*#%#########################################%%
%###########%##%%%*+*#%##%######################%%%%%%%%%%%%%%#%%###%
%###########%#######%%%###%%####################%#%##%%%%%###########
%###########%######%%#%#%##+***##############%#************#####%#*+*
%###########%#####%#+=++#**+*+***+****++*#%#*++**+++===---=*#%##*++*#
%###########%###%###********+++*+=====+#+=+**+-:......:=*#%##*+==*##%
%#########%%%######%#%%#%#-:---=:......:**+-:......:=*####*+==+#%%%%%
#########################*+===-#%-..............:=*####*+===*#######%
###*###**+**++==-++===+##:::::-%#-=..........:=*####*+==-+***++*##**#
+=.+#+-:-*%#+++*+====*@@%###%%%*==-..........=####+==--+*+=-:..:-**:=
--:*---=*%####%*===++++===::-%%===:...........:+###=---+*+--::====-:=
--#+++##*++++=#%#%%@@%+:-=-:#%+==-...::.........:+##*=--==:------=-==
*+++*#@%++++=-::==*@%=-:::-#@+===-:..::...:.......-*##*---+====*=:-=+
---=++*++++*++=++++======*%#==+#%%#-::::::.........:-*##+--+=-:=+==++
##%%###%%%%%%%%@@%#*****++==*%%%%%%%=:::::..::::::::::=###=-+==+==#*+
+#%%#*++*####%%%***++++***##%%%##%#***%**+*#%****%%+***%%##*-=*+#*==*
*#%%@#*#@%##%%#**%@***%%***%%##*%@***#%***%@%****@%****%##%%##%#%%%%%